
//
// 120613 - AH - Created.
//

package org.soekrat.server.orbsuppliers.s2;

import org.soekrat.environment.OrbSupplier;
import org.soekrat.environment.OrbSuppliers;

/**
 * <p>
 *   Base class for 
 *   {@link OrbInitializer}s that initialize for Soekrat2 semantic machine.
 * </p>
 * @author Arne Halvorsen (AH)
 * @author Laetitia Le Chatton (LLC)
 */
public abstract class S2OrbSupplier implements OrbSupplier 
{
  /**
   * <p>
   *   Constructor.
   * </p>
   */
  protected S2OrbSupplier(){}

  // Specified in OrbInitializer.
  public final String getEngineName(){ return "soekrat2"; }
  
  /**
   * <p>
   *   Adds Soekrat2 initializers.
   * </p>
   * @param ois {@link OrbInitializers} to add to.
   */
  public static void soekrat2Initializers(OrbSuppliers os)
  {
    if (os==null)
    {
      throw new NullPointerException("os");
    }
    
    os.addSupplier(new Soekrat2EngineOrbSupplier());
    os.addSupplier(new Soekrat2ChatOutputFactory());
  }
  
}
